// pages/Search/Search.js
import request from '../../utils/request'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    placeholderContent:'',//placeholer的内容
    hotList:[],//热搜榜数据
    searchContent:"",
    searchList:[],//模糊匹配的数据
    historyList:[],
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
this.getInitData()
this.getSearchHistory()
  },
// 获取初始化数据
async getInitData(){
let placeholderData =await request("/search/default")
let hotListData=await request("/search/hot/detail")

this.setData({
  placeholderContent:placeholderData.data.data.showKeyword,
  hotList:hotListData.data.data
})
},
//获取本地历史记录的功能函数
getSearchHistory(){
  let historyList=wx.getStorageSync('searchHistory')
  if(historyList){
    this.setData({
      historyList
    })
  }
},

//输入框发生改变回调
 handleInputChange(event){
  this.setData({
    searchContent:event.detail.value.trim()
  })
clearTimeout(this.st)
  this.st=setTimeout(
     async ()=>{
       if(!this.data.searchContent){
        this.setData({
          searchList:[]
        }) 
        return;
       }
       let {searchContent,historyList}=this.data
          //发送请求获取关键字模糊匹配数据
  let searchListData=await request("/search",{keywords:searchContent,limit:10})
  this.setData({
    searchList:searchListData.data.result.songs
  })
  //将搜索的关键字添加到搜索历史记录中
if(historyList.indexOf(searchContent)!==-1){
  historyList.splice(historyList.indexOf(searchContent,1))
}

  historyList.unshift(searchContent);
  wx.setStorageSync('searchHistory', historyList)
  this.setData({
    historyList
  })

      },300
  )

},

//清空
clearSearchContent(){
this.setData({
  searchContent:"",
  searchList:[]
})
},

//清空历史记录
deleteSearchHistory(){
  wx.showModal({
    content:"确定删除历史记录吗",
    success:(res)=>{
if(res.confirm){
    this.setData({
    historyList:[]
  })
  wx.removeStorageSync('searchHistory');
}
    }
  })

},

toSongdetail(e){
  console.log("asd");
wx.navigateTo({
  url: `/pages/songDetail/songDetail?id=${e.currentTarget.id}`,
})
},
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})